Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

added a type resolver to be replaced by another implementation later. #1166

Merged
merged 1 commit into from
Sep 10, 2024

Conversation

rapmue
Copy link
Contributor

@rapmue rapmue commented May 4, 2023

Describe the change
If the application, which uses the workflow core, is based on a plugin system (.NET6 AssemblyLoadContext and PluginLoadContext), it is helpful to replace the resolving of the type.

In order to be able to use a custom type resolver, there is a new interface and a the default implementation.

Describe your implementation or design
I added a new interface for the type resolver and injected a default implementation in the extension method to register the DSL.

Tests
The original tests are adapted to work with the default implementation.

Breaking change
It should not break anything, since the implementation is the same as before.

Additional context
The idea was to replace the typeresolver after registering the DSL like:

services.AddWorkflow();
services.AddWorkflowDSL();
services.AddTransient<ITypeResolver, CustomTypeResolver>();

var serviceProvider = services.BuildServiceProvider();

var definitionLoader = serviceProvider.GetService<IDefinitionLoader>();

@danielgerlag danielgerlag merged commit 4a0f4ea into danielgerlag:master Sep 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants